package modelo.servicio;

import java.util.List;
import modelo.bd.dao.ClienteDAO;
import modelo.bd.exception.DAOException;
import modelo.dominio.Cliente;

public class Clientes {

    private static Clientes instancia;
    private ClienteDAO dao;

    private Clientes() {
        this.dao = new ClienteDAO();
    }

    public static Clientes instancia() {
        if (instancia == null) {
            instancia = new Clientes();
        }
        return instancia;
    }

    @Override
    protected Object clone()
            throws CloneNotSupportedException {
        return new CloneNotSupportedException("No se puede clonar Cliente.");
    }

    public List<Cliente> obtener(String login) throws DAOException {
        return dao.selectEspe(login);
    }

    public Cliente obtener(int idCliente) throws DAOException {
        return dao.selectWhere("CLNT_NUMERO = " + idCliente).get(0);
    }
    
    public Cliente obtener(String serie, int numeroSerie) throws DAOException {
        return dao.selectWhere("clnt_stcl_clave = 'ACTI' and "
                + "pain_clnt_numero = clnt_numero "
                + "and pain_serie = '"+serie+"' "
                + "and pain_numero = '"+numeroSerie+"' "
                + "order by clnt_numero ").get(0);
    }
}
